<?php

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/', function () {
    return view('welcome');
});

//上传图片
Route::resource('photos', 'PhotoController', ['only' => 'store']);

//qq登录
Route::get('/qq','LoginQqController@qq')->name('qq');
Route::get('/','LoginQqController@qqlogin');


/**
 * 后台路由
 */
Route::group(['prefix' => 'admin'], function () {
    Auth::routes();

    Route::group(['namespace' => 'Admin', 'middleware' => ['auth', 'sitebar', 'role']], function () {


        Route::get('/', 'HomeController@index')->name('admin.index');  //大后台首页

        Route::get('/change_password', 'HomeController@change_password')->name('change_password');  //加载修改密码页面
        Route::put('/update_password', 'HomeController@update_password')->name('update_password');  //执行修改密码

        //商城中心
        require 'admin/shop.php';

        //易收银管理系统
        require 'admin/cashier.php';

        //广告中心
        require 'admin/ads.php';

        //微信管理
        require 'admin/wechat.php';

        //系统管理
        require 'admin/system.php';

        //博客系统
        require 'admin/blog.php';

    });

});


/***
 * 收银台前端路由
 */
Route::group(['prefix' => 'home'], function () {
    Route::group(['namespace' => 'Home'], function () {

        //收银系统
        require 'home/cashier.php';
    });
});


/***
 * 微信商城前端（仿小米）
 * 注：前端在还没有与微信公众号对接之前，购物车模块需设置用户的session_id.
 * 设置方法如下：
 * 1. 按照文档--中间件，执行命令生成自定义中间件WeChat，按要求在核心文件kernel.php中注册中间件。
 * 2. 在该中间件中设置一个假的session_id,并存入SESSION，如：
 *    if (!session('wechat.customer')) {
 * $customer = Customer::find(63);
 * session(['wechat.customer' => $customer]);
 * }
 * 3. 在前端路由中加入中间件，最后任意页面：return session()->all();拿到用户id即可。
 *
 * 4. 接入微信view
 *    1. 首先把做好的项目部署上线，线上可以通过域名正常访问。
 *    2. 配置微信前端路由
 *
 * 微信回复消息接口
 * 1. 基于之前安装的easyWeChat包并生成了配置文件WeChat.php，由于此文件是读取env文件，
 *    所以我们可以在env文件中设置token，用于验证微信与服务器项目是否对接上。
 * 2. 在中间件WeChat.php文件中设置用户session信息并在web.php中加上 wechat.oauth中间件同时核心里面注册该中间件
 *    在config文件夹中的WeChat.php文件中开启 OAuth 配置
 * 3. 在浏览器中输入你的域名测试得到结果：请在微信客户端打开链接即为成功。
 * 4. 在api.php中配置微信前端接口路由并创建控制器和方法，控制器里面写上测试代码如下：
 *      $server = EasyWeChat::server();
 * $server->setMessageHandler(function ($message) {
 * return 'hello word!';
 * });
 * return $server->serve();
 * 5. customer模型设置黑名单，过滤微信不需要的字段：如： protected $guarded = ['privilege', 'country', 'language'];
 * 6. 修改微信公众平台测试号中的接口配置信息，例如：URL：http://test.hdjzq.top/api/wechat  Token:自定义
 * 7. 现在可以打开微信扫描测试号二维码，发送任意消息，查看是否有回复信息，最后设置各种事件，查询需要的数据
 */


Route::group(['namespace' => 'Wechat'], function () {
    //支付成功回调
    Route::post('order/notify', 'OrderController@notify');

    Route::group(['middleware' => ['wechat.oauth', 'wechat']], function () {
        //微信商城
        require 'home/shop.php';
    });
});



